package com.alquimia.truco.dominio.modelo;

/**
 * Created by Ivo on 07/07/2014.
 */
public final class Jugada {

    private Accion estadoAccion;
    private JugadorId jugadorId;

    public Jugada(JugadorId aJugadorId, Accion aEstadoAccion) {
        this();

        setEstadoAccion(aEstadoAccion);
        setJugadorId(aJugadorId);
    }

    private Jugada() {
        super();
    }


    public Accion accion() {
        return estadoAccion;
    }

    private void setEstadoAccion(final Accion aEstadoAccion) {
        if (aEstadoAccion == null)
            throw new NullPointerException("La acción no puede ser nula.");

        estadoAccion = aEstadoAccion;
    }

    public JugadorId jugadorId() {
        return jugadorId;
    }

    private void setJugadorId(final JugadorId aJugadorId) {
        if (aJugadorId == null)
            throw new NullPointerException("El id jugador no puede ser nulo.");
        jugadorId = aJugadorId;
    }
}
